#ifndef Exception_h
#define Exception_h

class Exception_T
{
private:
	bool GetErrorMessageCLR
	(
		const unsigned int errorNumber, 
		wchar_t * msgBuffer, 
		unsigned int msgLength
	);

	wchar_t * GetErrorMessage
	(
		const unsigned int  errorNumber, 
		wchar_t * msgBuffer, 
		unsigned int msgLength
	);

public:
	unsigned int Code;
	const char * FileName;
	const char * FuncSig;
	int LineNumber;
	wchar_t Message[0x400];

public:
	Exception_T
	(
		const unsigned int errorNumber, 
		const char * fileName, 
		const int lineNumber, 
		const char * funcSig,
		const char * format = 0, 
		...
	);
};

#endif //Exception_h